home *** CD-ROM | disk | FTP | other *** search
/ Aminet 12 / Aminet 12 (1996)(GTI - Schatztruhe)[!][Jun 1996].iso / Aminet / dev / lang / HeliOS4.lha / helios_demo_disk4 / docs / userinterface / EditorControls.doc < prev    next >
Encoding:
Text File  |  1995-07-11  |  21.7 KB  |  608 lines

  1. *******************************************
  2. A quick overview of the editing environment
  3. *******************************************
  4.  
  5. The HeliOS editors offer a performance comparable with, and in some aspects
  6. superior to, expensive dedicated standalone text editors.
  7.  
  8. A high performance 7-speed smooth scrolling system has been incorporated,
  9. and this has menu options to customise speed and stop/start "damping" to
  10. give a smooth operation on any Amiga.
  11.  
  12. Extended line length (up to 240 characters) is allowed, along with forward
  13. and reverse TAB operation.
  14.  
  15. TAB and margin ("ruler") information can be edited and saved along with the
  16. user-environment file.
  17.  
  18. TAB and margin information can be saved with each text file as a file header
  19. if required.
  20.  
  21. True TABs are implemented, along with automatic TAB->space conversion.
  22.  
  23. Many sophisticated editing functions (such as "auto-indent RETURN" and quick
  24. columnar cut and paste in overwrite or insert mode) are available to make
  25. the task of source code editing as quick and efficient as possible.
  26.  
  27. See the Key Index menu for a full list of editing functions bound to the
  28. command keys, and look through the "Options" menu to see the various editor
  29. configuration settings.
  30.  
  31. The commonly used "double-click-and-drag-highlight" cut and paste has been
  32. implemented, and columnar cut and paste is available by simply holding
  33. down SHIFT or CTRL or R-MOUSE while double clicking to start text highlight.
  34.  
  35. Highlighted blocks of source code text can be instantly compiled or debugged.
  36.  
  37. Scrolling can be initiated (via a switchable option) using left or right
  38. mouse button dragging, and there is five speed variable scrolling under
  39. mouse-drag control.  There are upper and lower 4-line screen scroll zones,
  40. with extra extent of mouse drag producing the fifth scroll speed.
  41.  
  42. There is a proportional position gadget, along with slow scroll buttons
  43. for text browsing.  The menu adjustable  "scroll settle" settings allow
  44. the action of the proportional slider to be damped to permit readable
  45. browsing of even large files by dragging the proportional knob or hitting
  46. the proportional gadget container.  The proportional gadget scrolling
  47. system has seven speeds and three modes of operation according to whether
  48. you are scrolling "locally", "mid-range" or "long-range" - it has what
  49. amounts to a kind of "automatic gearbox".
  50.  
  51. Menu scroll speed settings allow the "browser" up/down arrow gadgets and
  52. the standard cursor key scroll speed to be set according to taste.
  53.  
  54. The search replace functions work freely and interactively from use of
  55. keyboard/menus/gadgets simultaneously, with replace mode protected by a
  56. "safety switch".  There are keyboard shortcuts for quick repeat searches 
  57. and replacement, and the search replace functions are very fast.
  58.  
  59. You can change direction within searches, move into and out of "Replace
  60. mode", change strings etc. etc. all while within a search sequence.
  61.  
  62. Search and Replace string gadgets are not Intuition Gadgets.......they have
  63. a "history" feature so that previous entries can be recalled using the up
  64. and down arrow keys.
  65.  
  66. The <F1> key can be used to copy strings between the string requesters in 
  67. the Find/Replace control panel: this is worth remembering because it can 
  68. save much of the time taken to retype the word in slightly different form.
  69.  
  70. Pressing F1 when using the Search string gadget will copy the current
  71. contents of the Search string gadget to the Replace string gadget and
  72. then move the cursor down into the Replace string gadget.
  73.  
  74. If the Replace string gadget is switched off (i.e. the Replace function is
  75. currently disabled) using F1 in the Search string will fully activate the 
  76. Replace system before entering the Replace string gadget.
  77.  
  78. Pressing F1 when using the Replace string gadget will copy the current
  79. contents of the Replace string gadget to the Search string gadget, while
  80. the cursor remains in the Replace string gadget.
  81.  
  82. The HeliOS editors have a quick-save "safety" button which lights up as
  83. soon as you change the contents of an editor.  Pressing this button resets
  84. its colour to neutral and does an instant "quick save".
  85.  
  86. There is also a "quick-load" button as well as the usual menu and command
  87. key options for loading files.
  88.  
  89. There is a "Run and Debug" button for each editor which with a single action
  90. lets you compile the current editor and automatically go to the interpreter
  91. in debug mode.
  92.  
  93. A sophisticated macro recording system will allow any length of macro
  94. recording, and will allow inclusion of DOS and AREXX functions. Macros can
  95. call other macros up to a nesting level of 20.
  96.  
  97. DOS and AREXX functions may be tied to definable command keys, and may be
  98. changed, deleted, edited etc.
  99.  
  100. Command keys can be reprogrammed using macros or rebound using the simple
  101. interactive key-rebinding system.
  102.  
  103. All command keys can also be reprogrammed using an editable ASCII key
  104. definition configuration file.
  105.  
  106. The "Ed x" buttons can be used with SHIFT or CTRL or R-MOUSE to compile
  107. editors from within edit mode.
  108.  
  109. HeliOS allows full cut and paste between different editors, and cut and
  110. paste between the interpreter command lines and any editor.
  111.  
  112. HeliOS editors all have a split screen mode allowing you to use two editors
  113. on screen together, or two views of the same editor.  This can be useful for
  114. cut/paste and comparison purposes.
  115.  
  116. To enter and leave "dual" mode, either double click on the editor control 
  117. buttons, press the "split editor" button to the left of the editor buttons, 
  118. or use the command key combination shown in Key Index.
  119.  
  120. If you have two views of the same editor, you can scroll around either view
  121. and any editing in either view will be updated into the other view only
  122. when you activate that view.  In other words, the "inactive" view can be
  123. used as a fixed static "snapshot" of the text in an editor while it is
  124. being changed in the other view.
  125.  
  126. Two positions within one editor can be remembered if both windows are
  127. used on the same file, and entering either view will return you to the 
  128. position last set in that view.
  129.  
  130. When you return from split screen mode, the single screen display will
  131. revert to whichever editor (or view) was currently selected/highlighted in
  132. split screen mode.
  133.  
  134. The dual-edit mode is not intended as a means of maintaining two editors
  135. on screen at all times during the edit session, and is not intended to be
  136. used like the "tiled" edit window mode of many other editors.  At present
  137. the system defaults to a fixed "half and half" screen display in dual mode,
  138. which is appropriate for the purpose of comparison and cross-pasting of
  139. text.
  140.  
  141. The HeliOS editor adopts a deliberate policy of using quick press button
  142. invocation rather than "tiling" the different editors in stacked layers.
  143. The "tiling" method means that each editor in use has a "title bar" on the
  144. display which reduces the text area dramatically.  Using the HeliOS system
  145. accessing any of the editor windows is a simple quick click operation, and
  146. when not being actually used the other editors take up no screen area.
  147.  
  148.  
  149. **********************
  150. Editor control buttons
  151. **********************
  152.  
  153. The top row of buttons:
  154.  
  155. *************************
  156. The editor select buttons
  157. *************************
  158.  
  159. The four buttons which allow entry to the editors (3 Editors + "OUT" editor)
  160. have several modes of action:
  161.  
  162.  
  163. Single left mouse click  -  Enters the editor associated with that button
  164.                             and highlights the button.
  165.  
  166. Double left mouse click  -  When inside an editor, enters and leaves the
  167.                             "split screen" mode which allows you to view
  168.                             two editors on screen together.
  169.  
  170. Single left mouse click  -  Compiles that editor using current compile mode
  171. while holding down the      whether you are in interpret or edit mode.
  172. right mouse button, the
  173. <Ctrl> key or the <Shift>
  174. key
  175.                             Note: On OS 1.3 machines the gadget must first
  176.                             be pressed with the left mouse button before
  177.                             then holding down the right button and releasing
  178.                             the left button.
  179.  
  180. *******************************************************************
  181. Square button to left of editor buttons - the "Split screen" button
  182. *******************************************************************
  183.  
  184. This button acts as a "split screen" toggle when you are actually within
  185. an editor.
  186.  
  187. The imagery on this button indicates whether the current mode is "split"
  188. or "single".
  189.  
  190. When you are in the interpreter, this button will take you back into "edit"
  191. mode into the same configuration which you last set up within "edit" mode.
  192. It acts as an instant return to your editor setup.
  193.  
  194.  
  195. *******************
  196. The "Colour" button
  197. *******************
  198.  
  199. This simply brings up the colour requester.
  200.  
  201. *****************
  202. The "Redo" button
  203. *****************
  204.  
  205. Has no function in edit mode.
  206.  
  207. *****************
  208. The "Help" button
  209. *****************
  210.  
  211. 1. Pressed alone.
  212.  
  213. Switches to "Help" mode, where accessing any menu or button will bring
  214. up a short explanatory text.
  215.  
  216. 2. Pressed with the <Ctrl> key.
  217.  
  218. Tries to display help, if available, on the word under the cursor.
  219.  
  220. See notes on the user editable Vocabulary Help file.
  221.  
  222.  
  223. The second row of buttons:
  224.  
  225. ************************
  226. The "Title/Debug" button
  227. ************************
  228.  
  229. The first button, on the left of the editor header bar, bears the name of
  230. the editor i.e. "Editor 1", "Editor 2" etc.
  231.  
  232. Pressing this button will exit the editor, enter the interpreter in "Debug
  233. Mode", and compile the contents of the editor under debugger control.
  234.  
  235. This is effectively a "Compile and Debug Editor" button.
  236.  
  237.  
  238. **********************************
  239. The editor file name string gadget
  240. **********************************
  241.  
  242. This gadget displays the name of any file loaded into an editor.
  243.  
  244. You may click in this gadget and enter a name, which may be a full pathname
  245. if you wish.
  246.  
  247. When you press <Return> the path will be parsed, any directory path will
  248. be inserted into the file requester and save paths, and the file name 
  249. alone will be left justified into the editor bar string gadget.
  250.  
  251. ******************************
  252. The editor "Quick Load" button
  253. ******************************
  254.  
  255. This is the small red button with the white triangle.  Pressing this button
  256. will bring up the file requester ready to load a file into the editor.
  257.  
  258. *******************************
  259. The #1 "Place Marker" button
  260. *******************************
  261.  
  262. This is a small yellow button inscribed with a red pointer icon and the
  263. number "1".  This button has two modes of operation.
  264.  
  265. Mode 1:
  266.  
  267. Pressing this gadget with the left mouse button will take you to the row
  268. number indicated in the adjacent string gadget.
  269.  
  270. Mode 2:
  271.  
  272. Pressing this gadget with the left mouse button and the holding down the
  273. right mouse button or <Ctrl> key or <Shift> while releasing the gadget will
  274. insert the current row number into the adjacent string gadget.
  275.  
  276. ***********************************
  277. The #1 "Place Marker" string gadget
  278. ***********************************
  279.  
  280. This string gadget holds the row number of the current #1 place marker.
  281.  
  282. You can click in this gadget and manually enter a row number: pressing
  283. <Return> will then take you to that row.
  284.  
  285. If a row greater than the number of rows in the file is entered, the
  286. number will be truncated to the highest row available.
  287.  
  288. *******************************
  289. The #2 "Place Marker" button
  290. *******************************
  291.  
  292. This is a small yellow button inscribed with a red pointer icon and the
  293. number "2".  This button has two modes of operation.
  294.  
  295. Mode 1:
  296.  
  297. Pressing this gadget with the left mouse button will take you to the row
  298. number indicated in the adjacent string gadget.
  299.  
  300. Mode 2:
  301.  
  302. Pressing this gadget with the left mouse button and the holding down the
  303. right mouse button or <Ctrl> or <Shift> key while releasing the gadget will 
  304. insert the current row number into the adjacent string gadget.
  305.  
  306.  
  307. ***********************************
  308. The #2 "Place Marker" string gadget
  309. ***********************************
  310.  
  311. This string gadget holds the row number of the current #2 place marker.
  312.  
  313. You can click in this gadget and manually enter a row number: pressing
  314. <Return> will then take you to that row.
  315.  
  316. If a row greater than the number of rows in the file is entered, the
  317. number will be truncated to the highest row available.
  318.  
  319.  
  320. *****************
  321. The "Find" button
  322. *****************
  323.  
  324. This button brings up the "Find/Replace" control panel.
  325.  
  326.  
  327. ***********************
  328. The "Quick Save" button
  329. ***********************
  330.  
  331. This is the small square button on the right of the header bar: it has
  332. two possible appearances:
  333.  
  334. 1. A neutral coloured button with an upward pointing white triangular icon
  335.  
  336. 2. A yellow button with an upward pointing red triangular icon.
  337.  
  338.  
  339. This button indicates whether the current file has been altered, and gives
  340. you the chance to do an instant "quick save" using the current filename.
  341.  
  342. If the button is "neutral", the file is unchanged and pressing the quick
  343. save button will have no effect.
  344.  
  345. If the button is "yellow", the file has been changed and pressing the quick
  346. save button will save a new version of the file (and create a ".Bak" file if
  347. that option is enabled).
  348.  
  349.  
  350. **************************************
  351. The "Up and Down Scroll" arrow buttons
  352. **************************************
  353.  
  354. These buttons are designed to be set for comfortable text browsing.
  355.  
  356. The idea is that you can read text while scrolling by setting the scroll
  357. speed to suit your own requirements.
  358.  
  359. The menu "Scrolling Speed" settings apply to these two buttons and to the
  360. cursor arrow key scrolling speed.
  361.  
  362.  
  363. ********************************************
  364. The "Up and Down Scroll" proportional slider
  365. ********************************************
  366.  
  367. This has the usual obvious function, but has a few interesting "extras".
  368.  
  369. There is a "gearing" system used in conjunction with this gadget which
  370. detects whether you are scrolling a few lines, a few screens, or a long way.
  371.  
  372. According to the distance being travelled, and automatic "gearchange" will
  373. take effect and will try to maintain a smooth and readable scroll.
  374.  
  375. If you click in the "container" above or below the "knob", a full screen
  376. scroll will occur, but the software will accelerate and decelerate smoothly
  377. so that you do not get a sudden disturbing jump.  This is quite useful when
  378. browsing large files, since the proportional gadget lets you zoom in on any
  379. area of the file quickly, and them smooth scroll while reading, still using
  380. the proportional gadget.  Try this on a normal "ungeared" system and you
  381. will realise that on large files the proportional slider has far too coarse
  382. an effect.
  383.  
  384. The gearing system can be adjusted from a "soft-slow" setting to a very
  385. fast setting using the menu "Scroll Settle" options.
  386.  
  387. Note:
  388.  
  389. The proportional slider can be set, using a menu option, to be constantly
  390. updated during a scroll, or to be updated only at the end of a scroll.
  391.  
  392. If the setting is for the update to occur only at the end of a scroll you
  393. will get a much better smooth scroll on slower 1.3 machines, since the
  394. rendering of the slider knob by intuition is quite slow.
  395.  
  396. We recommend that you experiment with this setting for the best smooth
  397. scrolling.
  398.  
  399.  
  400. ********************
  401. A note about Colours
  402. ********************
  403.  
  404. The new system has 5 colour presets.
  405.  
  406. If you use the "Save" button on the Colour control panel, or the "Save 
  407. colours" menu option, a "colour config" file can be saved, and this file
  408. can be used as your default startup colour configuration.
  409.  
  410. See the "InitialSetup.doc" for details on how to do this.
  411.  
  412. You can of course use the menu options "Save colours as" and "Load colours" 
  413. to save and load colour files other than the standard startup config file.
  414.  
  415. On the colour control panel are two buttons called "Undo" and "Reset".
  416. These work on the currently selected "preset" colour palette.  They do NOT
  417. alter any preset palettes other than the currently selected one.
  418.  
  419. "Undo" will restore the colours of the selected preset palette to those it
  420. had before last entering the colour control panel.
  421.  
  422. "Reset" will restore system default colours to the selected preset palette.
  423.  
  424.  
  425. **********************
  426. Columnar block marking
  427. **********************
  428.  
  429. This useful feature has a few points of special interest.
  430.  
  431.  
  432. Firstly, columnar block mark mode can be invoked by:
  433.  
  434. 1. The menu option
  435.  
  436. 2. The keyboard command <Amiga>+<B>
  437.  
  438. 3. Holding down the right mouse button while double clicking the left.
  439.  
  440. 4. Holding down the <Ctrl> key while double clicking the left mouse button.
  441.  
  442. 5. Holding down the <Shift> key while double clicking the left mouse button.
  443.  
  444.  
  445. Secondly, there are two modes of "paste" for columnar blocks:
  446.  
  447. 1. If the menu option for text "Insert mode" is set, the columnar block
  448.    will be inserted and existing text will be opened to accomodate the
  449.    new text block.
  450.  
  451. 2. If the menu option for text "Overwrite mode" is set, the columnar block
  452.    will be pasted down on top of existing text, overwriting the old text.
  453.  
  454.  
  455. Finally:
  456.  
  457. The columnar block is not stored with line-end formatting characters - it
  458. is stored in continuous end-to-end line segments as cut from the text.
  459. This means that printing or saving the marked block may not have the
  460. desired effect in terms of preserving the block proportions and layout.
  461.  
  462. To maintain a multi-line format in these cases it is best to paste down
  463. the columnar block in spare editor space and then use the normal block
  464. mark function.
  465.  
  466.  
  467. ********************
  468. Compile marked block
  469. ********************
  470.  
  471. This option allows you to highlight an area of your source code and
  472. compile it.  The operation first puts you into interpret mode so that you
  473. can view the output of your code.
  474.  
  475. Compilation will be in Debug mode if that mode is set in the interpreter.
  476.  
  477. Columnar block marking is ignored in this mode.  If you do have a columnar
  478. block marked by mistake there will be no problem, but the code will be
  479. compiled from the first marked character in the block to the last marked
  480. character, ignoring the column format.
  481.  
  482.  
  483. ******************
  484. Debug marked block
  485. ******************
  486.  
  487. This is similar to the "compile marked block" operation, except that the
  488. interpreter will be switched into Debug mode before compilation.
  489.  
  490.  
  491. ********************************
  492. Copy marked block to find buffer
  493. ********************************
  494.  
  495. There is a useful function which copies marked text into the find requester
  496. string buffer.  This can be operated from menu or keyboard.
  497.  
  498.  
  499. *************
  500. Text Wrapping
  501. *************
  502.  
  503. To use this function you must have the right margin set.
  504.  
  505. Text wrapping is slightly unconventional in that linear typing will wrap
  506. text within the left and right margins, if set, but you can still click
  507. outside the margins and type text freely into margin space.
  508.  
  509. This mode of functioning is useful for program editing but may not please
  510. those used to a more conventional "word processing" type of implementation.
  511.  
  512. Word Wrap only functions when you have ALL of these conditions:
  513.  
  514.  1. A right margin set
  515.  2. Word Wrap switched on
  516.  3. You are typing a non-space character in the middle of a word when the
  517.     cursor reaches the right margin.
  518.  
  519. If all these conditions are met, the Word Wrap function causes the partially
  520. typed word at the end of the original line to be moved "complete" to the
  521. start of the next line.  The cursor is then put at the last position in
  522. the word, and typing continues.
  523.  
  524. In other words the Word Wrap function prevents partial words being split
  525. over the end of lines.
  526.  
  527. Remember that this only functions when a right margin is set.
  528.  
  529. Otherwise, if you have Word Wrap off, the cursor moves to the start of the
  530. next line without bringing the complete current word with it.
  531.  
  532.  
  533. ***************************
  534. TABs, margins and the ruler
  535. ***************************
  536.  
  537. To set the ruler, create a text line in the editor which has the following
  538. format:
  539.  
  540.     L           !         !           !                   R
  541.     ^           ^TAB      ^TAB        ^TAB                ^
  542.     Left margin position                                  Right margin
  543.  
  544.  
  545. This line is used to define your new "ruler" settings.
  546.  
  547. Note that:
  548.  
  549.   L or l = Left margin position
  550.   R or r = Right margin position
  551.   !      = Tab position
  552.  
  553. To set the new ruler put the cursor anywhere on the ruler definition text
  554. line and press <Alt>+<TAB>.  This will delete the line from the editor and
  555. set the ruler with the new settings.
  556.  
  557. See Key Index and Options menus for several useful TAB and "Ruler" functions.
  558.  
  559. Note that TAB settings may be saved with the Environment file as well as
  560. in a file header.
  561.  
  562.  
  563. ******
  564. Macros
  565. ******
  566.  
  567. Macros can be of any number and any length, and can contain mixtures of
  568. primitive and macro commands.
  569.  
  570. A macro can call another macro, which can call another macro, which can
  571. call another macro.....up to a nesting level of 20.
  572.  
  573. A macro cannot call its own invocation key combination, and if you try to
  574. do so you will be warned.
  575.  
  576. New macros defined with the same key combinations as existing macros will
  577. delete the earlier versions.
  578.  
  579. Many functions would not be appropriate if used in macros, or would operate
  580. in unpredictable ways.  If you try to use one of these functions in a macro
  581. recording, you will be warned that the function is unavailable, and then
  582. you will be allowed to carry on with the macro recording.
  583.  
  584. This "Macro availability" can be redifined for those functions defined in
  585. the shortcut KeyTable file.  Using the KeyTable file you can switch whether
  586. any function can be used in Macros. Take care!
  587.  
  588. You can edit DOS/AREXX macros and change or extend the command text.
  589.  
  590. Macro DOS/AREXX command strings may be up to 100 characters in length.
  591.  
  592. You can delete all macros, or any individual macro, and you can load and
  593. save macro files freely.
  594.  
  595. Macros may be set up to run HeliOS programs.
  596.  
  597. Macros may only be set up in an editor, but they may be used also in the
  598. interpreter.
  599.  
  600. See the "HeliOS_Macro_Commands.doc" file for full instructions.
  601.  
  602. See the "InitialSetup.doc" file for instructions on setting up a default
  603. startup macro file.
  604.  
  605. ***********************************************************************
  606. End
  607. ***********************************************************************
  608.